package co.yixiang.modules.adopt.entity.vo;

import co.yixiang.common.annotation.Sensitive;
import co.yixiang.common.annotation.SensitiveStrategy;
import co.yixiang.modules.adopt.entity.domain.YxAdoptCategory;
import co.yixiang.modules.adopt.entity.domain.YxAdoptContract;
import co.yixiang.modules.adopt.entity.domain.YxAdoptFeature;
import co.yixiang.modules.member.entity.vo.YxUserSmallVo;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class YxAdoptProductVo {
    /** 商品id */
    private String id;
    /** 商品图片 */
    @Sensitive
    private String image;
    /** 轮播图 */
    @Sensitive(strategy = SensitiveStrategy.BATCH_IMAGE)
    private String sliderImage;
    /** 商品名称 */
    private String adoptName;
    /** 商品简介 */
    private String adoptInfo;
    /** 产品描述 */
    private String description;
    /** 关键字 */
    private String keyword;
    /** 产品条码（一维码） */
    private String barCode;
    /** 分类id */
    private String cateId;
    /** 商品价格 */
    private BigDecimal price;
    /** 会员价格 */
    private BigDecimal vipPrice;
    /** 市场价 */
    private BigDecimal otPrice;
    /** 成本价 */
    private BigDecimal cost;
    /** 获得积分 */
    private BigDecimal giveIntegral;

    private Double weight;
    /** 邮费 */
    private BigDecimal postage;
    /** 单位名 */
    private String unitName;
    /** 排序 */
    private Integer sort;
    /** 销量 */
    private Integer sales;
    /** 虚拟销量 */
    private Integer ficti;
    /** 浏览量 */
    private Integer browse;
    /** 库存 */
    private Integer stock;

    /** 状态（0：未上架，1：上架） */
    private Integer isShow;
    /** 是否热卖 */
    private Integer isHot;
    /** 是否优惠 */
    private Integer isBenefit;
    /** 是否精品 */
    private Integer isBest;
    /** 是否新品 */
    private Integer isNew;
    /** 是否包邮 */
    private Integer isPostage;
    /** 是否优品推荐 */
    private Integer isGood;

    /** 品种名称 */
    private String varietyName;
    /** 认养周期 /天 */
    private Integer period;
    /** 产品特点 */
    private String feature;
    /** 认养合同 */
    private String contract;
    /** 开始时间  */
    private Date beginTime;
    /** 结束时间  */
    private Date endTime;
    /** 位置信息  */
    private String position;
    /** 位置信息  */
    private String positionStr;
    /** 地址  */
    private String addressPath;
    /** 详细地址  */
    private String addressDetail;
    // 分类信息
    private YxAdoptCategory adoptCategory;
    // 合同信息
    private List<YxAdoptContract> adoptContractList;
    // 产品特点
    private List<YxAdoptFeature> adoptFeatureList;
    // 认养改产品的用户信息
    private List<YxUserSmallVo> yxUserList;

    // 距离
    private Double distance;
}
